package com.sqfw.project.wp.mapper;

import java.util.List;

import com.sqfw.project.wp.domain.WpInfoCall;
import com.sqfw.project.wpReport.domain.SeatServiceReport;
import com.sqfw.project.wpReport.domain.SeatWpInfo;
import com.sqfw.project.wpReport.domain.dto.WpInfoCallDTO;
import org.springframework.stereotype.Component;

/**
 * 工单呼叫关联表Mapper接口
 *
 * @author lx
 * @date 2023-07-31
 */
@Component
public interface WpInfoCallMapper {
    /**
     * 查询工单呼叫关联表
     *
     * @param scid 工单呼叫关联表主键
     * @return 工单呼叫关联表
     */
    public WpInfoCall selectWpInfoCallByScid(Long scid);

    /**
     * 查询工单呼叫关联表列表
     *
     * @param wpInfoCall 工单呼叫关联表
     * @return 工单呼叫关联表集合
     */
    public List<WpInfoCall> selectWpInfoCallList(WpInfoCall wpInfoCall);

    /**
     * 新增工单呼叫关联表
     *
     * @param wpInfoCall 工单呼叫关联表
     * @return 结果
     */
    public int insertWpInfoCall(WpInfoCall wpInfoCall);

    /**
     * 修改工单呼叫关联表
     *
     * @param wpInfoCall 工单呼叫关联表
     * @return 结果
     */
    public int updateWpInfoCall(WpInfoCall wpInfoCall);

    /**
     * 删除工单呼叫关联表
     *
     * @param scid 工单呼叫关联表主键
     * @return 结果
     */
    public int deleteWpInfoCallByScid(Long scid);

    /**
     * 批量删除工单呼叫关联表
     *
     * @param scids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteWpInfoCallByScids(Long[] scids);

    public List<WpInfoCallDTO> getSeatServiceReportList(SeatServiceReport seatServiceReport);

    public int getWpInfoCallOutCount(WpInfoCallDTO dto);

    public int getWpInfoCallOutSucessCount(WpInfoCallDTO dto);

    public Integer countWpInfoCallGroupBySatis(WpInfoCallDTO dto);

    public List<WpInfoCallDTO> getSeatServiceReportListByMonth(SeatServiceReport seatServiceReport);

    public int getWpInfoCallOutCountByMonth(WpInfoCallDTO dto);

    public int getWpInfoCallOutSucessCountByMonth(WpInfoCallDTO dto);

    public Integer countWpInfoCallGroupBySatisByMonth(WpInfoCallDTO dto);

    List<SeatWpInfo> selectWpInfoCallOutSucess(WpInfoCallDTO dto);

    List<SeatWpInfo> selectWpInfoCallOutSucessByMonth(WpInfoCallDTO dto);

    /**
     *
     * */
    List<WpInfoCall> getWpInfoCallByCreateTime(WpInfoCall wpInfoCall);

    /**
     *
     * */
    int updateWpInfoCallByScid(Long scid);


    Integer countWpInfoCallevaluationBackCount(WpInfoCallDTO dto);

}
